Sergiy Kolesnikov. An Extensible Compiler for Feature-Oriented Programming in Java

نویسندگان

  • Sergiy Kolesnikov
  • Sven Apel
  • Christian Lengauer
چکیده

Feature-oriented software development (FOSD) is a paradigm for developing large software systems. Fuji, an extensible compiler, supports featureoriented programming in Java. It does not rely on source-to-source translation but generates standard bytecode, which can be executed on any specifications-compliant Java virtual machine. This allows feature-oriented software developers to benefit from such techniques as type checking or access control, which are indispensable in standard Java compilers. Fuji is based on the JastAddJ compiler. One of JastAddJ’s main development goals is easy extensibility. Thus extensibility is inherent in Fuji. This property of our compiler allows building other tools on its basis and experiment with alternative designs. In this thesis we describe the architecture and design of Fuji, as well as several extensions we implemented showing the extensibility of our compiler.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Access control in feature-oriented programming

In feature-oriented programming (FOP) a programmer decomposes a program in terms of features. Ideally, features are implemented modularly so that they can be developed in isolation. Access control mechanisms in the form of access or visibility modifiers are an important ingredient to attain feature modularity as they allow programmers to hide and expose internal details of a module’s implementa...

متن کامل

Implementing Extensible Compilers

New extensions to programming languages are constantly being proposed. But implementing these extensions usually turns out to be a very difficult and expensive task, since conventional compilers often lack extensibility and reusability. In this paper we present some fundamental techniques to implement extensible compilers in an object-oriented language. For being able to implement extensible co...

متن کامل

The JastAdd system - modular extensible compiler construction

The JastAdd system enables modular specifications of extensible compiler tools and languages. Java has been extended with the Rewritable Circular Reference Attributed Grammars formalism that supports modularization and extensibility through several synergistic mechanisms. Object-orientation and static aspect-oriented programming are combined with declarative attributes and context-dependent rew...

متن کامل

Building the abc AspectJ compiler with Polyglot and Soot

Aspect-oriented programming and the development of aspect-oriented languages is rapidly gaining momentum, and the advent of this new kind of programming language provides interesting challenges for compiler developers. Aspect-oriented language features require new compilation approaches, both in the frontend semantic analysis and in the backend code generation. This paper is about the design an...

متن کامل

The abc Group Building the abc AspectJ compiler with Polyglot and Soot abc Technical Report No . abc - 2004 - 4

Aspect-oriented programming and the development of aspect-oriented languages are rapidly gaining momentum, and the advent of this new kind of programming language provides interesting challenges for compiler developers, both in the frontend semantic analysis and in the backend code generation. This paper is about the design and implementation of the abc compiler for the aspect-oriented language...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2011